package entidades;

import java.io.Serializable;
import javax.persistence.*;

import enumeraciones.ExamenApoyoEnum;
import enumeraciones.RemisionEnum;

import java.util.Date;
import java.util.Set;


/**
 * The persistent class for the t_diagnostico_manejo database table.
 * 
 */
@Entity
@Table(name="t_diagnostico_manejo")
public class TDiagnosticoManejo implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(name="T_DIAGNOSTICO_MANEJO_IDDIAGNOSTICOMEDICO_GENERATOR", sequenceName="T_DIAGNOSTICO_MANEJO_ID_DIAGNOSTICO_MEDICO_SEQ", allocationSize=1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="T_DIAGNOSTICO_MANEJO_IDDIAGNOSTICOMEDICO_GENERATOR")
	@Column(name="id_diagnostico_medico")
	private Integer idDiagnosticoMedico;

	@Column(name="des_control")
	private String desControl;

	@Column(name="user_creacion")
	private String userCreacion;

	@Column(name="user_modificacion")
	private String userModificacion;

	@Temporal( TemporalType.TIMESTAMP)
	@Column(name="fecha_creacion")
	private Date fechaCreacion;
	
	@Temporal( TemporalType.TIMESTAMP)
	@Column(name="fecha_modificacion")
	private Date fechaModificacion;
	
	
	@Column(name="des_examen_apoyo_dx")
	@Enumerated (value = EnumType.STRING)
	private ExamenApoyoEnum desExamenApoyoDx;

	@Column(name="des_remision")
	@Enumerated (value = EnumType.STRING)
	private RemisionEnum desRemision;

	//bi-directional many-to-one association to TControl
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="id_control")
	private TControl TControl;

	//bi-directional many-to-one association to TDiagnostico
	@OneToMany(mappedBy="TDiagnosticoManejo")
	private Set<TDiagnostico> TDiagnosticos;

	@Version
	private Integer version;
	
    public TDiagnosticoManejo() {
    }

	public Integer getIdDiagnosticoMedico() {
		return this.idDiagnosticoMedico;
	}

	public void setIdDiagnosticoMedico(Integer idDiagnosticoMedico) {
		this.idDiagnosticoMedico = idDiagnosticoMedico;
	}

	public String getDesControl() {
		return this.desControl;
	}

	public void setDesControl(String desControl) {
		this.desControl = desControl;
	}

	public Set<TDiagnostico> getTDiagnosticos() {
		return this.TDiagnosticos;
	}

	public void setTDiagnosticos(Set<TDiagnostico> TDiagnosticos) {
		this.TDiagnosticos = TDiagnosticos;
	}

	public TControl getTControl() {
		return TControl;
	}

	public void setTControl(TControl tControl) {
		TControl = tControl;
	}

	public ExamenApoyoEnum getDesExamenApoyoDx() {
		return desExamenApoyoDx;
	}

	public void setDesExamenApoyoDx(ExamenApoyoEnum desExamenApoyoDx) {
		this.desExamenApoyoDx = desExamenApoyoDx;
	}

	public RemisionEnum getDesRemision() {
		return desRemision;
	}

	public void setDesRemision(RemisionEnum desRemision) {
		this.desRemision = desRemision;
	}

	public Integer getVersion() {
		return version;
	}

	public void setVersion(Integer version) {
		this.version = version;
	}

	public String getUserCreacion() {
		return userCreacion;
	}

	public void setUserCreacion(String userCreacion) {
		this.userCreacion = userCreacion;
	}

	public String getUserModificacion() {
		return userModificacion;
	}

	public void setUserModificacion(String userModificacion) {
		this.userModificacion = userModificacion;
	}

	public Date getFechaCreacion() {
		return fechaCreacion;
	}

	public void setFechaCreacion(Date fechaCreacion) {
		this.fechaCreacion = fechaCreacion;
	}

	public Date getFechaModificacion() {
		return fechaModificacion;
	}

	public void setFechaModificacion(Date fechaModificacion) {
		this.fechaModificacion = fechaModificacion;
	}
	
}